def most_frequent_earliest(nums):
    if not nums:
        return None
    counts = {}
    for value in nums:
        counts[value] = counts.get(value, 0) + 1
    best = nums[0]
    for value in nums:
        if counts[value] > counts[best]:
            best = value
    return best
