### isAdditiveNumber 
from typing import *
def f_gold(num: str) -> bool:
    def dfs(a, b, num):
        if not num:
            return True
        if a + b > 0 and num[0] == '0':
            return False
        for i in range(1, len(num) + 1):
            if a + b == int(num[:i]):
                if dfs(b, a + b, num[i:]):
                    return True
        return False
    n = len(num)
    for i in range(1, n - 1):
        for j in range(i + 1, n):
            if i > 1 and num[0] == '0':
                break
            if j - i > 1 and num[i] == '0':
                continue
            if dfs(int(num[:i]), int(num[i:j]), num[j:]):
                return True
    return False