I dont know which packages should I use to make this code work, please, someone help me.
\begin{tikzpicture}[scale=1.5,font=\footnotesize]
\tikzset{
solid node/.style={circle,draw,inner sep=1.5,fill=black},
hollow node/.style={circle,draw,inner sep=1.5}
}
% Specify spacing for each level of the tree
\tikzstyle{level 1}=[level distance=10mm,sibling distance=37mm]
\tikzstyle{level 2}=[level distance=10mm,sibling distance=20mm]
\tikzstyle{level 3}=[level distance=15mm,sibling distance=10mm]
\tikzstyle arrowstyle=[scale=1]
\tikzstyle directed=[postaction={decorate,decoration={markings,
mark=at position .5 with {\arrow[arrowstyle]{stealth}}}}]
\node(0)[solid node,label=above:{$1$}]{}
child{node(1)[solid node, label=left:{$2$}]{}
child{node(3)[solid node]{}
child{node[hollow node,label=below:{$(6,3)$}]{}edge from parent node[left]{$G$} }
child{node[hollow node,label=below:{$(1,4)$}]{} edge from parent node[right]{$H$}}
edge from parent node[left]{$C$}}
child{node(4)[solid node]{}
child{node[hollow node,label=below:{$(1,2)$}]{}edge from parent node[left]{$G$} }
child{node[hollow node,label=below:{$(3,2)$}]{} edge from parent node[right]{$H$}}
edge from parent node[right]{$D$}
}
edge from parent node[left,xshift=-3]{$A$}
}
child{node(2)[solid node,label=right:{$2$}]{}
child{node(6)[solid node,label=right:{$1$}]{}
child{node[hollow node,label=below:{$(2,3)$}]{}edge from parent node[left]{$I$} }
child{node[hollow node,label=below:{$(1,4)$}]{} edge from parent node[right]{$J$}}
edge from parent node[left]{$E$}}
child{node(7)[solid node,label=right:{$1$}]{}
child{node[hollow node,label=below:{$(2,3)$}]{}edge from parent node[left]{$K$} }
child{node[hollow node,label=below:{$(3,2)$}]{} edge from parent node[right]{$L$}}
edge from parent node[right]{$F$}
}
edge from parent node[right,xshift=3]{$B$}
};
\draw[dashed,rounded corners=10]($(3) + (-.2,.25)$)rectangle($(4) +(.2,-.25)$);
\node at ($(3)!.5!(4)$) {$1$};
\end{tikzpicture}

