Oil rises to near $104 after US supplies drop