input: 
  from typing import List
  
  def linear_regression_forward_pass(input_data: List[List[float]], weights: List[List[float]], bias: List[float]) -> List[List[float]]:
      """ Calculates the forward pass of the linear regression model based on given input data, weights, and bias.
      The input data should have shape (N, input_dim) and the weights should have shape (input_dim, output_dim).
      The bias should be a 1D list of length output_dim.
      The output will have shape (N, output_dim).
      
      >>> linear_regression_forward_pass([[1.0, 2.0], [3.0, 4.0]], [[0.1, 0.2], [0.3, 0.4]], [0.1, 0.2])
      [[0.8, 1.2], [1.8, 2.6]]
      >>> linear_regression_forward_pass([[5.0, 6.0]], [[0.5, 0.6], [0.7, 0.8]], [0.1, 0.2])
      [[7.5, 9.2]]
      """
      input_dim = len(input_data[0])
      output_dim = len(weights[0])
      out = [[0.0 for _ in range(output_dim)] for _ in range(len(input_data))]
      
      for i in range(len(input_data)):
          for j in range(output_dim):
              out[i][j] = bias[j]
              for k in range(input_dim):
                  out[i][j] += input_data[i][k] * weights[k][j]
      
      return out
  
output:     input_dim = len(input_data[0])
      output_dim = len(weights[0])
      out = [[0.0 for _ in range(output_dim)] for _ in range(len(input_data))]
      
      for i in range(len(input_data)):
          for j in range(output_dim):
              out[i][j] = bias[j]
              for k in range(input_dim):
                  out[i][j] += input_data[i][k] * weights[k][j]
      
      return out