US pharmacy chain Walgreens agrees to pay $106M to settle charges