import java.util.*; class TreeNode { int val; TreeNode left, right; TreeNode(int val) { this.val = val; } } public class MaxDepthLeaves { // Complete this function public static int countMaxDepthLeaves(TreeNode root) { } public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] tokens = sc.nextLine().split(" "); List nodes = new ArrayList<>(); for (String s : tokens) nodes.add(Integer.parseInt(s)); TreeNode root = buildTree(nodes); System.out.println(countMaxDepthLeaves(root)); } public static TreeNode buildTree(List arr) { if (arr.isEmpty() || arr.get(0) == -1) return null; TreeNode root = new TreeNode(arr.get(0)); Queue q = new LinkedList<>(); q.add(root); int i = 1; while (!q.isEmpty() && i < arr.size()) { TreeNode node = q.poll(); if (i < arr.size() && arr.get(i) != -1) { node.left = new TreeNode(arr.get(i)); q.add(node.left); } i++; if (i < arr.size() && arr.get(i) != -1) { node.right = new TreeNode(arr.get(i)); q.add(node.right); } i++; } return root; } }