Wal-Mart cuts generic drug prices