machokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachomachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemachokemacho