__@@@@@@____@@_____@@___@@@@@@___@@_____@@__@@____@@___@@@___@@@__@@____@@__@@_____@@__@@_________@@@@_@@@@__@@________@@_____@@__@@___@@@@__@@_@@@_@@___@@@@@@___@@_____@@__@@____@@___@@_____@@________@@__@@_____@@__@@____@@___@@_____@@__@@____@@__@@_____@@___@@@@@@____@@_____@@___@@@@@@____@@@@@@@__