~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{x{|~~~}~}~}~}~}}}}|}|||}|}|}}}~~~~~~~~~~~~~~~~~}|}|}|~}~}~}~}~~~zyz}~~~~~~~~~~~~}~}}|}|||}}~~~~~~~~~~~~~~~~~~~w{x{y{y{{y{y{zxfaly~wxuwtvutvsusuqspqmnkljljnlpqpuswvywzwzw{x{x{x{wzwyvyvyyvyvyvyvyvyvxvxvxuxuwtvsvtvuuwuxvxvxvywzp