# Given a nested list of integers, return the sum of all integers in the list weighted by their depth.
#
# Each element is either an integer, or a list -- whose elements may also be integers or other lists.
#
# Example 1:
# Given the list [[1,1],2,[1,1]], return 10. (four 1's at depth 2, one 2 at depth 1)
#
# Example 2:
# Given the list [1,[4,[6]]], return 27. (one 1 at depth 1, one 4 at depth 2, and one 6 at depth 3; 1 + 4*2 + 6*3 = 27)


sum = 0

def depthSum(nestedList, depth):
    global sum
    for each in nestedList:
            print each
            print "sum: ", sum
            if type(each) is int:
                sum += (each * depth)
                depth = 1
            else:
                depth += 1
                depthSum(each, depth)

    return sum


#Test cases
#print depthSum([1,2,3,4], 1)
sum =0
#print depthSum([[1,1],2,[1,1]], 1) # "Expected value was 10"
sum =0
print depthSum([1,[4,[6]]], 1) # "Expected value was 27"
