class Solution(object):
def depthSum(self, nestedList):
"""
:type nestedList: List[NestedInteger]
:rtype: int
"""
if len(nestedList) == 0: return 0
stack = []
sum = 0
for n in nestedList:
stack.append((n, 1))
while stack:
next, d = stack.pop(0)
if next.isInteger():
sum += d * next.getInteger()
else:
for i in next.getList():
stack.append((i,d+1))
return sum