p~o~o~nn~n~n~mmml~l~lk~kskwj~j|jziyiriphmhch]hYgXg_gcghfnf{ffeeee~ee~e~d~d~ee~g~i~lps~v~y~z~|}}|~|{{yzyyzy~{|z{{zyy{x{x|w|v~v~uutssrr~r~q~q~q~q~q~p~p~p~p~o~o~o~n~n~n~n~m~m~m~l~l~l~l~k~kk~k~kjk~kjjjj~ii~i~hhh~hgggggftfptfsf