def run_length_encode(text):
    if not text:
        return []
    output = []
    symbol, count = text[0], 1
    for i in range(1, len(text)):
        char = text[i]
        if char == symbol:
            count += 1
        else:
            output.append((symbol, count))
            symbol, count = char, 1
    output.append((symbol, count))
    return output
