<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def run_game_of_life(years, width, height, time_delay, silent="N"):
 """ run a single game of life for 'years' and log start and end living cells to aikif """

    lfe = mod_grid.GameOfLife(width, height, ['.', 'x'], 1)
    set_random_starting_grid(lfe)
    lg.record_source(lfe, 'game_of_life_console.py')
    print(lfe)
    start_cells = lfe.count_filled_positions()
    for ndx, dummy_idx in enumerate(range(years)):
        lfe.update_gol()
        if silent == "N":
            print_there(1,1, "Game of Life - Iteration # " + str(ndx))
            print_there(1, 2, lfe)
            time.sleep(time_delay)
    end_cells = lfe.count_filled_positions()
    return start_cells, end_cells