~~}}}~~~}|{{zyx~ww~vu~t~t~s~r~q~q~p~p~o~o~o~n~n~n~m~m~mmlllkkkkjjj~i~i~i~i~h~h~h~g~g~g~g~gzf~fffe}esdxc|c~b}b}b~a~a~b~b~c~g~m~w~