__@@@@@@_____@@@@@@@___@@_____@@__@@______@@__@@____@@___@@_____@@__@@_____@@__@@__@@__@@__@@_________@@_____@@__@@_____@@__@@__@@__@@__@@___@@@@__@@_____@@__@@_____@@__@@__@@__@@__@@____@@___@@__@@_@@__@@_____@@__@@__@@__@@__@@____@@___@@____@@___@@_____@@__@@__@@__@@___@@@@@@_____@@@@@_@@___@@@@@@@____@@@__@@@__