__@@@@@@@___@@@@@@@@___@@____@@__@@@@@@@@__@@_____@@__@@_____@@___@@__@@________@@___@@_____@@__@@_____@@____@@@@________@@____@@_____@@__@@@@@@@@______@@________@@_____@@__@@_@@__@@___@@_______@@_______@@______@@____@@___@@____@@______@@______@@________@@@@@_@@__@@_____@@_____@@_____@@@@@@@@_