object NestedListWeightSum { def depthSum(nestedList: List[NestedInteger]): Int = { def helper(nestedList: List[NestedInteger], depth: Int): Int = { nestedList.map { case NestedInteger(number) => number * depth case NestedList(subList) => helper(subList, depth + 1) }.sum } helper(nestedList, 1) } def main(args: Array[String]): Unit = { // Example usage val nestedList = List(NestedInteger(1), NestedList(List(NestedInteger(2), NestedInteger(3))), NestedInteger(4)) val result = depthSum(nestedList) println(s"Nested List Weight Sum: $result") } } // Define a simple data structure to represent NestedInteger sealed trait NestedInteger case class NestedList(value: List[NestedInteger]) extends NestedInteger case class NestedInteger(number: Int) extends NestedInteger