code: def generate_possible_contribution_bounds(
      upper_bound: int,
  ) -> List[int]:
      """Generates bounds that are optimized for scalability.
      Keep in sync with histograms._to_bin_lower.
  
      This method generates bounds that have 3 left-most digits non-zero and
      others are zero. I.e., it will be [1, 2, 3, ..., 999, 1000, 1010, 1020,
      ..., 9990, 10000, 10100, 10200.
      The method has logarithmic complexity.
      """
      bounds = []
      current_bound = 1
      power = 10
      while current_bound <= upper_bound:
          bounds.append(current_bound)
          if current_bound >= power:
              power *= 10
          current_bound += max(1, power // 1000)
      return bounds
  
imports: from dataclasses import dataclass
  from functools import lru_cache
  from typing import List
  import pipeline_dp
  from pipeline_dp import dp_computations
  from pipeline_dp.dataset_histograms.histograms import Histogram
  from pipeline_dp import pipeline_functions
label_desc: Use image node_id 1 for calling a global function with example usage: generate_possible_contribution_bounds(upper_bound) and returns: bounds