if temp:
    yield temp, None
else:
    temp = None
for chunk in chunks:
    if not temp:
        temp = hash(chunk)
else:
    yield temp, hash(chunk)
temp = None
if temp:
    yield temp, None
Обратное построение дерева (с нечетным числом детей)