yyyxxwvutsrqponmmlkjjiihggffeeeeddddddddddefhkosx|}yuroljhfeddddeefgghiijjkkkklllkkkjjiihhggggffffffffeeeeeeeff