tvxz}}}~~}|{zyyxxwwvvusrqqpppqqstvxz}~}|{yxvutsrqponmmkjjiiijkmprtwy{}~}|zyxwvutsrqpnmlkjhgedcccdefhilnqsvx{}~|zxwvutsrqpomlj