}}z}{}}}{}}}{}}}{|}}{}}}{}}}{}}}{}z}{}}}y}}}{}}}{}}}{}}{|}}}{}}}}}z}{}}}{}}}{}}}{|}}{}}}{}}}{}}}{}z}{}}}y}}}{}}}{}}}{}}{|}}}{}}}}}z}{}}}{}}}{}}}{|}}{}}}yzzzy}}}{}z}{{{{x{{{z{{{z{{{z{{zz{{{z}}}}}z}z|||{}}}z{{{z{{yz}}}|}}}{}}}|}|}{}}}y}}}{}}}|}}}{}}||}}}{}}}{{y{y{{{{|{{{|~~}}~z~~~}}}}{}}}{}z}yzzzx~~{~~~z{{{z{{zz{{{z{z{}}z}z}}}{~}}}~}}{|}z}~}}{}}}{}}}{}z}{}}}y}}~{}}}zzzzyzzyyzzz{}{}}}z}z}}}{~}}}~}}{|}z}~}}{}}}{}}}{}|~{~~~y}}~{}}}{~~~{~~{|}}}{}{}}}z}z}}}{~}}}~}}{|}z}~}}{}}}{}}}{}z}{}}}y}}~{}}}z}}}{}}{|}}}{}{}{{x|y|{{z|{{{}{{z{{}{{|{z|z|{{{|z{xyyxwyv{{}z{{{y{{{z{{z{{{{y{{{}}}}z~|}{~}}}~}}{}}~}|}}{~|~{}}~{}z}~|z}y}}~y}~}z}}}~}}{|}}}z}{}}}}}z~|}{~}}}~}}{}}~}|}}{~|~{}}~{}z}~|z}y}}~y}~}z}}}~}}{|}}}z}{}}}}}z~|}{~}}}~}}{}}~}|}}{~|~{}}~{}z}~|z}y}}~y}~}z}}}~}}{|}}}z}{}{{z{}}{{{{{{{{{{|{{{{{{{{|{|{|||{|{||{{|{|||{|||z|||{||{y{{{y{{{}}{}zz|}{~}}z~}}{}}~}|}z{~|~{}}~{}z}~|z}y}}~z}~}y|}}|}}{|}}}z}}{}}{}zz|}{~}}z~}}{}}~}|}z{~|~{}}~{}z}~|z}y}}~z}~}y|}}|}}{|}}}|}}{}}{}zz|}{~}}z~}}{}}~}|}z{~|~{}}~{}z}~|z}y}}~z}~}y|}}|}}{|}}}|}}{{{z|yzz{z{{{z|{{zzzzzzz{z{{{{{{zz{{{{{z{z{{|{{{{z|{||{{z{}y{z{{{}}|}z~|}{z}}y~}}z}}~}~}y{~y~}}}z{}z}~|y}y}}~z}~}y|}~|}}{|~z}z}}}}}|}z~|}{z}}y~}}z}}~}~}y{y~}~z}~|~}y{z~~|~~z|~}~~}|~z}z}}}}}{|z}{|zy||y}|}|{{|z|{z{|z||||{{|{||{{{y|||{|||y|}~|}}{|~z}z}}}{{z{z~|}{z}}z|{{{{z|z|{zz|||{{{zz{z{|{zzz{{|z{|{z{{|{{{zzzw}y{z{}}|}|~|}}z}}z~y}{~y~z~}y}~{~}}}z}}}}~|z{z}}~}}~}}|}~|}}}z~z}|}{}}}|}|~|}{z}}y~y}z}y~z~}y{~{~}|}z{}z}~|z{y}~}z}~}{|}~|}}{y~z}|}{}}}|}|~|}{z}}y~y}z}y~z~}y{~{~}|}z{}z}~|z{y}~}z}~}{|}~|}}{y~z}|}{}{{y|z|z{zwyyw}x{z|x}y||xy|z|}{|yz{z{|zyzx{}{z{|{zz{||{|zy}x{y{z{}}{}|}|}{~}}y~y}z}y~z~}y{~{~}|}z{}z}~|z{y}~}z}~}{|}~|}}{y}y}z}{}}}{}|}|}{~}}y~y}z}y~z~}y{~{~}|}z{}z}~|z{y}~}z}~}{|}~|}}{y}y}z}{}}}{}|}|}{~}}y~y}z}yz}z}{~}~z}~|~}z{y}~}z}~}{|}~|}}{y}y}z}{}{{z{z{z{z~}}y~y}z}y~z~}y{~{~}|}z{}z}~|z{y}~}z{{{zz{{x{{zx{x{y{{{}}{}|}|}}~}}z~y}{~y~z~}z{|||{{{z{{{{|zzzz{z{}}z}}|z~y}}}z}|}z}}{}}{}|}|}{~}}y~y}z}y~z~}y{~{~}|}z{}z}~yz{y}z}z}z}{|z~y}}{y}|}z}}{}}{}|}|}{~}}y~y}z}y~z~}y{~{~}|}z{}z}~yz{y}z}z}z}{|z~y}}{y}|}z}}{{{z|z{{{z|{}y}x{z|x}y}|xy|z|}{|yz{z{|xzzx{z{z{y{yzy}y{|zy{|{y{{{}}{}|||}{~}~z~y}z}y}z~}y{~{~}|}y{}z}~yz{y}z}z}z}z|z~y}}{y}|}z}}}}}{}|||}{~}~z~y}z}y}z~}yyzzzzyzxyzyzzwxywzxzz}z}z|z~y}}{y}|}z}}}}}z{zzz{z~}~z~y}z}y}z~}y{~{~z|}y{zz}~yz{y}z}z}z}z|z~y}}{y}|}z}}}{{z{|||}{~}~z~y}z}y}z~}y{~{~z|}y{zz}~yz{y}z}z}z}z|z~y}}{y}|}z{z{}}{}|||}{}}}z}y}z}y}z}|y{}{}y|}y{yz}}yzzy}z}z}z}z{y}y}}{y}|}z}{}}}{}|||}{~}~z~y}z}y}z~}y{~{z}|}y{zz}~yz{y~z~z}z}z|z~y}}{y}|}z}{}}}{}|||}{~}~z~y}z}y}z~}y{~{z}|}y{zz}~yz{y}z}z}z}z|z~z}}{y}|}z}{}{y{|z{zzz{z|z|{{zzzzzzzyzzzyzyzzzzzzzyzzyzyzz{z{zz{{z{{zzyyyy{{{}{}}|}|z{}z~z~}}z}}}z~}}{~{z}y{}{}z}~|y{y}}}y}~}z|}|z~}{|}|}z}}}}{}}|}|z{}z~z~}}z}}}z~}}{~{z}y{}{}z}~|y{y}}}y}~}z}}|z~}{|}|}z}}}}{}}|}|z{}z~z~}}z}}}z~}}{~{z}y{}{}z}~|y{y}}}yzzzz}}|z~}{|}|}z}}}{z{zz{zyz{z~z~}}{}|}y~}|{}zy}y{|{}|}~|z{y}}}z}~}zzzzxzzzzzzzy{{z}}}{|}|z|}|~z~}}{}}~z~}}|~{z}y{}|}|}~|z{wzzzx}~}z}}|~~}||}|}z}}{}}}{|}|z{}z~z~}}z}}}z~}}{~{z}y{}{}z}~|y{y}}}y}~}z}}|~~}{|}|}z}}{}}}{|}|z{}z~z~}}z}}}z~}}{~{z}y{}{}z}~|y{y}}}y}~}z}}|~~}{|}|}z}}{{{{|y{zyz{z}y|{{z|{|y}|{z|zy}yz{z{z{|zyzx{{{y{}{z{{{{|{z{{|{z{{z}{}}{}|xyzzzxzzzxzzzxzyzyzyzzzyzyzxzzyzywzzzw}~}{}~}}}}{|}|}z}}{}z{{z{z{{}}~z~}}z}}}z~}}{~{}}}{}{}z~~}~{z~~~z~~}~~~~~{|}|}z}}{}{}}{}|}{}}~z~}}z}}}z~}}{~{}}}{}{}z}}|}{y}}}y}~}{}~}}}}{|}|}z}}{{z{zz{z{y{{|{{{{|{{{{|{{|}|}}zzzz}z}}|}{y}}}y{{{z{{{{{{zz{z{y{{z}}}{{}|}{}}~{~}}{}}}}~}}{~}}}}{}{}|~~}~{y~~~z}~}{}~}}}}{|}|}z}}{}}}{{}|}{}}~{~}}{}}}}~}}{~}}}}{}{}z}}|}{y}}}y}~}{}~}}}}{|}|}z}}{}}}{{}|}{}}~{~}}{}}}}~}}{~}}}}{}{}z}}|}{y}}}y}~}|~~~~~||}|}z}}{{{z|y{{|zz{}z|{{z{{|z|{{z{z|}{z{z{z{{{{zx{{{y{|{z{}{yzzyzzzzy{{z}}{}{}}}{{}~{~}}{|}}{~}}{}z}}}{}{}|~~~~{z~~~{~~~}~~~{~~}|}}}{}}{}}{}{}}}{{}~{~}}{|}}{~}}{}z}}}{}{}z}}}}{y}}}{}}}{}}}{}}{|}}}{}}{}}{}{}}}|{}~{~}}||}}{~}}|}z}}}{}|}{~~~~{y~~~{~~~|}}}{}}{|}}}{}}{{{z{z{{{zz~{~~~|}~~{~~~|~z~~~{~|}y{{{{zx{{{z{{{z{{{z{{zz{{{z{{z}}{}{}}}}~{{z{{{{{{{z{{{{{z{{{z{{{z{{{{{y{{{z{{{{{{{z{{}|}}}{}}}}}{{{}}}{}}}{}}}{|}}{}}}{}z}z{{{z{y{z}}}y}}}{}}}{}}}{}}{|}}}{}}}}}}}{}}}{}}}{}}}zzzzzzzzzzyzzzzzz}z}z{{{x{{{z{{{z{{{z{{z|}}}{}}}