This line is confusing: ```C++ if (depth == 0 || (ivals.size() < minbucket && ivals.size() < maxbucket)) { ``` minbucket and maxbucket are identical in effect here, and this is probably not what was meant