US to buy 3 million barrels of oil for reserve in August