__@@@@@___@@____@@___@@@@@@___@@______@@__@_____@__@@___@@___@@____@@__@@__@@__@@__@_____@__@@__@@____@@________@@__@@__@@___@@@@@___@@@@@______@@@@@@___@@__@@__@@__@_____@__@@__@@__________@@__@@__@@__@@__@_____@__@@___@@___@@____@@__@@__@@__@@___@@@@@___@@____@@___@@@@@@____@@@__@@@__