input: def find_coordinates(data, target):
      """
      Given a list of lists representing 2D data (similar to a matrix but potentially with rows of varying lengths), 
      and an integer target, locate all occurrences of the target in the data and return a list of tuples. Each tuple 
      contains the coordinates (row, column) of the occurrences, starting from 0. Coordinates should be sorted firstly 
      by rows in ascending order, and secondly, within each row, by columns in descending order.
  
      Examples:
      find_coordinates([
        [1,2,3,4,5,6],
        [1,2,3,4,1,6],
        [1,2,3,4,5,1]
      ], 1) == [(0, 0), (1, 4), (1, 0), (2, 5), (2, 0)]
      find_coordinates([], 1) == []
      find_coordinates([[], [1], [1, 2, 3]], 3) == [(2, 2)]
      """
output:     coordinates = []
      for i, row in enumerate(data):
          for j, value in enumerate(row):
              if value == target:
                  coordinates.append((i, j))
      coordinates.sort(key=lambda x: (x[0], -x[1]))
      return coordinates