Oil rises towards $46 on U.S. inventory drop, economy hopes