input: def optimize_code(fn, params):
      """Optimizes a given function by running it with different parameters within a specified range and returns the parameters that produce the highest score.
      >>> optimize_code(lambda p: p.a + p.b + p.c, Params(1, 2, 3))
      {'a': 10, 'b': 11, 'c': 12}
      >>> optimize_code(lambda p: p.a * p.b * p.c, Params(1, 2, 3))
      {'a': 9, 'b': 9, 'c': 9}
      """
output:     best_params = {}
      best_score = float('-inf')
      
      for a in range(1, 11):
          for b in range(1, 11):
              for c in range(1, 11):
                  params.a = a
                  params.b = b
                  params.c = c
                  score = fn(params)
                  if score > best_score:
                      best_score = score
                      best_params = {'a': a, 'b': b, 'c': c}
      
      return best_params