private void addNode(TreeNode n, long v) {
        while (n != null) {
            if (v < n.val) {
                ++n.leftCnt;
                if (n.left == null) {
                    n.left = new TreeNode(v);
                    return;
                }
                n = n.left;
            } else if (v > n.val) {
                if (n.right == null) {
                    n.right = new TreeNode(v);
                    return;
                }
                n = n.right;
            } else {
                ++n.selfCnt;
                return;
            }
        }
    }