~~~~~~~~||uyqxs{y~~wruz~}}|uzr{v}|~~}}{uzqyt|y}}~~~~~~~}}}}~~~}}|{zy~y~x~x~x~x~w~xxxxx~x}w}x}x~wsommlkkkllk}k|l{lzlzl{m{m|n}o~p~o~m}jxgqcmboful{n~p~p}q}q~r~sssstuwyz|~~}|zyxwwwwwwwxxxyyyzzzz{{|||{{|}}}}}~~~~~~~{ywsvrxv}y|~~~~~~~~}|||{{{zzzzywwwwvvwww}v}v|v|w}w~xxxwtqwmojmlsryv}xyyzzzz{|||}~~}|{zyxxyz