NBC: Walgreens, Walmart and CVS ordered to pay $650 million over opioid sales