queue<TreeNode*> q1;
q1.push(root);
int count=1;
if(count==d)
{
TreeNode *n5=new TreeNode(v);
n5->left=root;
return n5;
}
while(!q1.empty())
{
int size=q1.size();
count++;
if(count==d)
break;
for(int i=0;i<size;i++)
{
TreeNode *p1=q1.front();
q1.pop();
if(p1->left!=NULL)
q1.push(p1->left);
if(p1->right!=NULL)
q1.push(p1->right);
}
}
cout<<q1.size()<<" ";
while(!q1.empty())
{
TreeNode *t1=q1.front();
q1.pop();
TreeNode *n1=new TreeNode(v);
n1->left=t1->left;
t1->left=n1;
TreeNode *n2=new TreeNode(v);
n2->right=t1->right;
t1->right=n2;
}
return root;